#pragma once

#include <stdio.h>
#include "../../ExEngine/common/hashtable.hpp"
#include "../../ExEngine/common/arraylist.hpp"

#include "../../ExEngine/render/interface_types.h"
#include "../../ExEngine/sound/dsound.h"

#include "../../ExEngine/engine/bsp.h"

#include "../../ExEngine/common/common.h"
#include "../../ExEngine/render/d3d_light.h"

class CLevel : public CObject
{
private:
	CBSP* m_pBSP;
	D3DDirectionalLight* pSceneLightB;
	D3DLight* pTorchLight;

public:
	CLevel();
	HRESULT Create();
	HRESULT Release();

	HRESULT LoadFile(const string& filename);
	void LoadObjectHandler(string& name, Matrix4f& transform);

	void Update(const float dt);
	void Draw(void); 
};
